Apache POI এর মাধ্যমে Microsoft Word (DOCX) ডকুমেন্টে Styles এবং Themes প্রয়োগ করা সম্ভব। Styles এবং Themes এর মাধ্যমে আপনি ডকুমেন্টের ফন্ট, সাইজ, রং, প্যারাগ্রাফের মাপ এবং অন্যান্য স্টাইল কাস্টমাইজ করতে পারেন। এর ফলে ডকুমেন্টের কনসিস্টেন্সি বজায় থাকে এবং পেশাগত মান উন্নত হয়।
এখানে আমরা Styles এবং Themes প্রয়োগের প্রক্রিয়া দেখব।
Word ডকুমেন্টে Styles হল পূর্বনির্ধারিত টেক্সট এবং প্যারাগ্রাফ ফরম্যাটের সেট, যা দ্রুত একই ধরনের ফরম্যাটিং প্রয়োগ করতে সহায়ক। Apache POI এর মাধ্যমে আপনি ParagraphStyle, RunStyle, এবং TableStyle ইত্যাদি ব্যবহার করে স্টাইল সেট করতে পারেন।
import org.apache.poi.xwpf.usermodel.*;
import org.apache.poi.wp.usermodel.ParagraphAlignment;
import java.io.FileOutputStream;
import java.io.IOException;
public class AddParagraphStyle {
public static void main(String[] args) throws IOException {
XWPFDocument document = new XWPFDocument();
// প্যারাগ্রাফ তৈরি করা
XWPFParagraph paragraph = document.createParagraph();
// স্টাইল সেট করা
paragraph.setAlignment(ParagraphAlignment.CENTER); // সেন্টার alignment
XWPFRun run = paragraph.createRun();
run.setText("This is a styled paragraph.");
run.setFontSize(14);
run.setBold(true);
run.setFontFamily("Arial");
run.setColor("FF5733"); // ফন্টের রং সেট করা
// ডকুমেন্ট সেভ করা
try (FileOutputStream out = new FileOutputStream("document_with_paragraph_style.docx")) {
document.write(out);
}
System.out.println("Paragraph style added to the Word document!");
}
}
এখানে, প্যারাগ্রাফের alignment, font size, font family, এবং text color স্টাইল করা হয়েছে।
Run Style একটি নির্দিষ্ট টেক্সটের অংশের ফরম্যাটিং নিয়ন্ত্রণ করে। এটি সাধারণত একটি প্যারাগ্রাফের মধ্যে টেক্সটের স্টাইল প্রয়োগ করতে ব্যবহৃত হয়।
import org.apache.poi.xwpf.usermodel.*;
import java.io.FileOutputStream;
import java.io.IOException;
public class AddRunStyle {
public static void main(String[] args) throws IOException {
XWPFDocument document = new XWPFDocument();
// প্যারাগ্রাফ তৈরি করা
XWPFParagraph paragraph = document.createParagraph();
XWPFRun run = paragraph.createRun();
// টেক্সট যোগ করা এবং স্টাইল সেট করা
run.setText("This is a run styled text.");
run.setFontSize(16);
run.setBold(true);
run.setItalic(true);
run.setColor("FF0000"); // রেড কালার
// ডকুমেন্ট সেভ করা
try (FileOutputStream out = new FileOutputStream("document_with_run_style.docx")) {
document.write(out);
}
System.out.println("Run style added to the Word document!");
}
}
এখানে, XWPFRun ক্লাসের মাধ্যমে টেক্সটের ফন্ট সাইজ, বোল্ড, ইটালিক এবং কালার সেট করা হয়েছে।
Themes হল Word ডকুমেন্টের জন্য একত্রিত রঙ, ফন্ট, এবং অন্যান্য শৈলী যা ডকুমেন্টের সামগ্রিক চেহারা এবং অনুভূতি উন্নত করে। Themes সাধারণত ডকুমেন্টের কনসিস্টেন্সি বজায় রাখতে সহায়ক।
Apache POI সরাসরি Themes প্রয়োগের জন্য কোনো API সরবরাহ করে না, তবে আপনি কিছু স্টাইল এবং রং প্রয়োগ করে Themes-এর কার্যকর ফলাফল অর্জন করতে পারেন। এটি সাধারণত XML ফাইলের মাধ্যমে নিয়ন্ত্রিত হয় এবং POI শুধুমাত্র style এবং font কাস্টমাইজ করতে সাহায্য করে।
যেহেতু POI-এর মাধ্যমে সরাসরি Themes প্রয়োগ করা সম্ভব নয়, তবে আপনি Font এবং Colors ব্যবহার করে একটি কাস্টম থিম তৈরি করতে পারেন।
আপনি ডকুমেন্টের ফন্ট, রং এবং স্টাইল নির্ধারণ করে একটি কাস্টম থিম তৈরি করতে পারেন।
import org.apache.poi.xwpf.usermodel.*;
import org.apache.poi.wp.usermodel.ParagraphAlignment;
import java.io.FileOutputStream;
import java.io.IOException;
public class CustomThemeExample {
public static void main(String[] args) throws IOException {
XWPFDocument document = new XWPFDocument();
// প্যারাগ্রাফ তৈরি করা
XWPFParagraph paragraph = document.createParagraph();
paragraph.setAlignment(ParagraphAlignment.LEFT); // alignment
XWPFRun run = paragraph.createRun();
run.setText("This is a custom themed text.");
// কাস্টম ফন্ট এবং কালার
run.setFontFamily("Calibri");
run.setFontSize(14);
run.setColor("0066CC"); // ব্লু রং
run.setBold(true);
// ডকুমেন্ট সেভ করা
try (FileOutputStream out = new FileOutputStream("document_with_custom_theme.docx")) {
document.write(out);
}
System.out.println("Custom theme applied to the Word document!");
}
}
এখানে, Calibri ফন্ট এবং blue রঙ ব্যবহার করে একটি কাস্টম থিম তৈরি করা হয়েছে।
Word ডকুমেন্টে টেবিলের জন্যও স্টাইল প্রয়োগ করা সম্ভব। XWPFTable এবং XWPFTableRow ব্যবহার করে আপনি টেবিলের ফন্ট, রঙ এবং alignment কাস্টমাইজ করতে পারেন।
import org.apache.poi.xwpf.usermodel.*;
import org.apache.poi.wp.usermodel.ParagraphAlignment;
import java.io.FileOutputStream;
import java.io.IOException;
public class TableStyleExample {
public static void main(String[] args) throws IOException {
XWPFDocument document = new XWPFDocument();
// টেবিল তৈরি করা
XWPFTable table = document.createTable();
// প্রথম সারি
XWPFTableRow row1 = table.getRow(0);
row1.getCell(0).setText("Name");
row1.getCell(1).setText("Age");
// দ্বিতীয় সারি
XWPFTableRow row2 = table.createRow();
row2.getCell(0).setText("John Doe");
row2.getCell(1).setText("30");
// স্টাইল সেট করা
XWPFTableCell cell1 = row1.getCell(0);
cell1.setColor("FFD966"); // Yellow color
XWPFRun run1 = cell1.getParagraphs().get(0).createRun();
run1.setText("Styled Name");
run1.setFontSize(12);
// ডকুমেন্ট সেভ করা
try (FileOutputStream out = new FileOutputStream("document_with_table_style.docx")) {
document.write(out);
}
System.out.println("Table style added to the Word document!");
}
}
এখানে, XWPFTable ক্লাস ব্যবহার করে একটি টেবিল তৈরি করা হয়েছে এবং XWPFTableRow এবং XWPFTableCell এর মাধ্যমে টেবিলের কোষে রঙ এবং স্টাইল যোগ করা হয়েছে।
Apache POI এর মাধ্যমে আপনি Microsoft Word (DOCX) ডকুমেন্টে Styles এবং Themes প্রয়োগ করতে পারেন। আপনি ParagraphStyle, RunStyle, TableStyle ইত্যাদি ব্যবহার করে স্টাইল কাস্টমাইজ করতে পারেন, এবং কাস্টম থিম তৈরি করতে ফন্ট এবং রঙের সংমিশ্রণ ব্যবহার করতে পারেন। POI সরাসরি থিম ব্যবস্থাপনা না করলেও, font, alignment, এবং colors এর মাধ্যমে আপনি একটি কাস্টম থিম তৈরি করতে পারেন।
Apache POI লাইব্রেরি ব্যবহার করে আপনি Word ডকুমেন্ট তৈরি বা সম্পাদনা করার সময় Paragraph Style এবং Character Style কাস্টমাইজ করতে পারেন। এর মাধ্যমে আপনি প্যারাগ্রাফ এবং চরিত্রের স্টাইলের বিভিন্ন বৈশিষ্ট্য যেমন ফন্ট, সাইজ, বোল্ড, ইটালিক, অন্ডারলাইন ইত্যাদি নিয়ন্ত্রণ করতে পারবেন। Paragraph Style প্যারাগ্রাফের গোটা টেক্সটকে প্রভাবিত করে, যখন Character Style শুধুমাত্র নির্দিষ্ট টেক্সটের (যেমন: একটি শব্দ বা বাক্যাংশ) স্টাইল পরিবর্তন করে।
এই ধারণাগুলির মাধ্যমে আপনি Word ডকুমেন্টে কাস্টমাইজড এবং সুন্দর টেক্সট স্টাইল তৈরি করতে পারবেন।
Paragraph Style প্যারাগ্রাফের আউটলাইন, ফরম্যাট এবং আড়াআড়ি সজ্জা নির্ধারণ করে। এর মধ্যে প্যারাগ্রাফের ফন্ট, সাইজ, অ্যালাইনমেন্ট, মার্জিন এবং লাইন স্পেসিং অন্তর্ভুক্ত থাকে।
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;
import org.apache.poi.xwpf.usermodel.ParagraphAlignment;
import java.io.FileOutputStream;
import java.io.IOException;
public class ParagraphStyleExample {
public static void main(String[] args) throws IOException {
// নতুন Word ডকুমেন্ট তৈরি
XWPFDocument document = new XWPFDocument();
// প্যারাগ্রাফ তৈরি করা
XWPFParagraph paragraph = document.createParagraph();
// প্যারাগ্রাফের স্টাইল কাস্টমাইজ করা
paragraph.setAlignment(ParagraphAlignment.CENTER); // সেন্টার আলাইনমেন্ট
paragraph.setSpacingBefore(200); // ২০০ পয়েন্ট স্পেসিং পূর্বে
paragraph.setSpacingAfter(200); // ২০০ পয়েন্ট স্পেসিং পরে
// প্যারাগ্রাফে টেক্সট যোগ করা
XWPFRun run = paragraph.createRun();
run.setText("এটি একটি কাস্টম প্যারাগ্রাফ স্টাইলের উদাহরণ।");
// Word ডকুমেন্ট সেভ করা
try (FileOutputStream out = new FileOutputStream("paragraph_style_example.docx")) {
document.write(out);
}
System.out.println("Paragraph style সহ Word ডকুমেন্ট সফলভাবে তৈরি হয়েছে!");
}
}
এই কোডটি প্যারাগ্রাফের স্টাইল কাস্টমাইজ করার জন্য এবং একটি সেন্টার-অ্যালাইনড প্যারাগ্রাফ তৈরি করার জন্য ব্যবহৃত হয়।
Character Style সাধারণত একটি নির্দিষ্ট টেক্সটের স্টাইল পরিবর্তন করে, যেমন ফন্ট ফ্যামিলি, ফন্ট সাইজ, বোল্ড, ইটালিক, অন্ডারলাইন, কালার ইত্যাদি। আপনি এটি XWPFRun ক্লাসের মাধ্যমে নির্দিষ্ট টেক্সটে প্রয়োগ করতে পারেন।
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;
import java.io.FileOutputStream;
import java.io.IOException;
public class CharacterStyleExample {
public static void main(String[] args) throws IOException {
// নতুন Word ডকুমেন্ট তৈরি
XWPFDocument document = new XWPFDocument();
// একটি প্যারাগ্রাফ তৈরি
XWPFParagraph paragraph = document.createParagraph();
// প্যারাগ্রাফে রান তৈরি করা
XWPFRun run = paragraph.createRun();
run.setText("এই টেক্সটের উপর কাস্টম Character Style প্রয়োগ করা হয়েছে।");
// Character Style কাস্টমাইজ করা
run.setBold(true); // বোল্ড স্টাইল
run.setItalic(true); // ইটালিক স্টাইল
run.setFontSize(14); // ফন্ট সাইজ ১৪ পয়েন্ট
run.setFontFamily("Arial"); // ফন্ট ফ্যামিলি Arial
run.setUnderline(true); // অন্ডারলাইন
// Word ডকুমেন্ট সেভ করা
try (FileOutputStream out = new FileOutputStream("character_style_example.docx")) {
document.write(out);
}
System.out.println("Character style সহ Word ডকুমেন্ট সফলভাবে তৈরি হয়েছে!");
}
}
এই কোডটি একটি প্যারাগ্রাফে কাস্টম Character Style প্রয়োগ করে এবং টেক্সটটিকে বোল্ড, ইটালিক, এবং অন্ডারলাইন করে।
Paragraph Style এবং Character Style Word ডকুমেন্টে টেক্সট ফরম্যাটিং এবং আউটলাইন কাস্টমাইজ করার গুরুত্বপূর্ণ উপাদান। Paragraph Style প্যারাগ্রাফের গোটা লেআউট নিয়ন্ত্রণ করে, যেমন আলাইনমেন্ট, স্পেসিং, এবং মার্জিন। Character Style শুধুমাত্র টেক্সটের নির্দিষ্ট অংশের স্টাইল নিয়ন্ত্রণ করে, যেমন ফন্ট সাইজ, বোল্ড, ইটালিক ইত্যাদি। Apache POI ব্যবহার করে এই স্টাইলগুলো প্রোগ্রামেটিকভাবে নির্ধারণ এবং কাস্টমাইজ করা যায়, যা আপনাকে Word ডকুমেন্টে পেশাদারী ফরম্যাটিং এবং উপস্থাপনা তৈরি করতে সাহায্য করবে।
Apache POI ব্যবহার করে Microsoft Word ডকুমেন্টে Custom Styles তৈরি এবং ব্যবহার করা সম্ভব। Custom Styles আপনাকে ডকুমেন্টে বিশেষ ধরনের ফরম্যাটিং এবং টেক্সট স্টাইল প্রয়োগ করতে সহায়ক হয়, যেমন ফন্ট, সাইজ, বোল্ড, ইটালিক, আন্ডারলাইন, কলার ইত্যাদি। আপনি XWPFStyles এবং XWPFParagraph এর মাধ্যমে কাস্টম স্টাইল তৈরি করতে পারেন এবং সেগুলি ডকুমেন্টের বিভিন্ন প্যারাগ্রাফে প্রয়োগ করতে পারেন।
এটি মূলত তখন প্রয়োজন হয় যখন আপনি ডকুমেন্টে একাধিক পৃষ্ঠায় একই ধরনের ফরম্যাটিং পুনরায় ব্যবহার করতে চান।
আপনি Apache POI তে XWPFStyles ব্যবহার করে কাস্টম স্টাইল তৈরি করতে পারেন। এটি সাধারণত XWPFDocument এর সাথে কাজ করে এবং XWPFParagraph বা XWPFRun এর মাধ্যমে টেক্সটের স্টাইল প্রয়োগ করা হয়।
import org.apache.poi.xwpf.usermodel.*;
import java.io.FileOutputStream;
import java.io.IOException;
public class CustomStyleExample {
public static void main(String[] args) throws IOException {
// নতুন ডকুমেন্ট তৈরি করা
XWPFDocument document = new XWPFDocument();
// Custom Style তৈরি করার জন্য Styles তৈরি করা
XWPFStyles styles = document.createStyles();
// Custom Style তৈরি করা
XWPFStyle customStyle = styles.createStyle();
customStyle.setName("MyCustomStyle");
customStyle.setType(STStyleType.PARAGRAPH);
// স্টাইলের ফন্ট এবং আকার কনফিগার করা
XWPFRun run = customStyle.getRun();
run.setFontSize(14); // ফন্ট সাইজ
run.setBold(true); // বোল্ড
run.setItalic(true); // ইটালিক
// প্যারাগ্রাফ তৈরি করা
XWPFParagraph paragraph = document.createParagraph();
paragraph.setStyle("MyCustomStyle"); // তৈরি করা স্টাইল প্রয়োগ করা
// প্যারাগ্রাফে টেক্সট যোগ করা
XWPFRun runText = paragraph.createRun();
runText.setText("This is a custom styled paragraph!");
// ডকুমেন্ট সংরক্ষণ করা
try (FileOutputStream out = new FileOutputStream("CustomStyleExample.docx")) {
document.write(out);
}
System.out.println("Custom Style সফলভাবে তৈরি এবং প্রয়োগ করা হয়েছে!");
}
}
আপনি XWPFStyle এর মাধ্যমে আরো বিভিন্ন স্টাইল কাস্টমাইজ করতে পারেন যেমন:
import org.apache.poi.xwpf.usermodel.*;
import java.io.FileOutputStream;
import java.io.IOException;
public class AdvancedCustomStyleExample {
public static void main(String[] args) throws IOException {
// নতুন ডকুমেন্ট তৈরি করা
XWPFDocument document = new XWPFDocument();
// Custom Style তৈরি
XWPFStyles styles = document.createStyles();
XWPFStyle customStyle = styles.createStyle();
customStyle.setName("AdvancedCustomStyle");
customStyle.setType(STStyleType.PARAGRAPH);
// ফন্ট, সাইজ, কালার, এলাইনমেন্ট কনফিগার করা
XWPFRun run = customStyle.getRun();
run.setFontSize(16); // ফন্ট সাইজ 16pt
run.setFontFamily("Arial"); // ফন্ট পরিবার Arial
run.setBold(true); // বোল্ড
run.setColor("FF5733"); // টেক্সট কালার (Hex)
// প্যারাগ্রাফ alignment সেন্টারে সেট করা
XWPFParagraph paragraph = document.createParagraph();
paragraph.setStyle("AdvancedCustomStyle");
paragraph.setAlignment(ParagraphAlignment.CENTER); // সেন্টার alignment
// টেক্সট যোগ করা
XWPFRun runText = paragraph.createRun();
runText.setText("This is a custom styled and centered paragraph!");
// ডকুমেন্ট সংরক্ষণ
try (FileOutputStream out = new FileOutputStream("AdvancedCustomStyleExample.docx")) {
document.write(out);
}
System.out.println("Advanced Custom Style সফলভাবে তৈরি এবং প্রয়োগ করা হয়েছে!");
}
}
একবার একটি কাস্টম স্টাইল তৈরি হলে, আপনি সেই স্টাইলটি ডকুমেন্টের বিভিন্ন প্যারাগ্রাফে ব্যবহার করতে পারেন। setStyle("styleName") পদ্ধতি ব্যবহার করে তৈরি করা স্টাইলটিকে প্যারাগ্রাফ বা রান এ অ্যাপ্লাই করা হয়।
XWPFParagraph paragraph1 = document.createParagraph();
paragraph1.setStyle("MyCustomStyle");
XWPFRun run1 = paragraph1.createRun();
run1.setText("This paragraph uses the custom style.");
এখানে setStyle("MyCustomStyle") ব্যবহার করা হয়েছে, যেখানে "MyCustomStyle" হল পূর্বে তৈরি করা স্টাইলের নাম।
Apache POI এর মাধ্যমে Microsoft Word ডকুমেন্টে Custom Styles তৈরি এবং প্রয়োগ করা সম্ভব। আপনি XWPFStyle এবং XWPFParagraph ব্যবহার করে টেক্সটের স্টাইল যেমন ফন্ট, সাইজ, কালার, এলাইনমেন্ট ইত্যাদি কাস্টমাইজ করতে পারেন এবং সেই স্টাইলটি ডকুমেন্টের বিভিন্ন অংশে প্রয়োগ করতে পারেন। এতে ডকুমেন্টের ফরম্যাটিং একীভূত থাকে এবং একাধিক পৃষ্ঠায় একই ধরনের ফরম্যাটিং পুনরায় ব্যবহার করা যায়।
অ্যাপাচি পিওআই (Apache POI) ব্যবহার করে Word ডকুমেন্টের Theme এবং Template ব্যবস্থাপনা করা সম্ভব। Theme এবং Template ব্যবহার করার মাধ্যমে আপনি আপনার ডকুমেন্টের ডিজাইন এবং ফরম্যাট কাস্টমাইজ করতে পারেন। Theme সাধারণত ডকুমেন্টের স্টাইল এবং রঙের স্কিম নিয়ন্ত্রণ করে, এবং Template আপনাকে প্রিসেট ডিজাইন ব্যবহার করে ডকুমেন্ট তৈরি করার সুবিধা দেয়।
Theme মূলত ডকুমেন্টের স্টাইলের একসেট, যা ফন্ট, সাইজ, রঙ, শেডিং ইত্যাদি নিয়ন্ত্রণ করে। Apache POI এর মাধ্যমে একটি কাস্টম থিম তৈরি করা সরাসরি সম্ভব না, তবে আপনি ডকুমেন্টে স্টাইল প্রযোজ্য করতে পারেন।
import org.apache.poi.xwpf.usermodel.*;
import java.io.*;
public class AddThemeToWord {
public static void main(String[] args) throws Exception {
// নতুন Word ডকুমেন্ট তৈরি করা
XWPFDocument document = new XWPFDocument();
// প্যারাগ্রাফ তৈরি করা
XWPFParagraph paragraph = document.createParagraph();
XWPFRun run = paragraph.createRun();
// টেক্সট যোগ করা
run.setText("This is an example of a document with a custom theme.");
// স্টাইল প্রয়োগ (ফন্ট সাইজ, ফন্ট নাম, রঙ ইত্যাদি)
run.setFontSize(14);
run.setFontFamily("Arial");
run.setColor("0000FF"); // ব্লু রঙ
// ডকুমেন্ট সেভ করা
try (FileOutputStream out = new FileOutputStream("word_with_theme.docx")) {
document.write(out);
}
System.out.println("Theme applied successfully!");
}
}
setFontSize()
, setFontFamily()
, এবং setColor()
মেথড ব্যবহার করে টেক্সটের স্টাইল পরিবর্তন করা হয়েছে।বিশেষ নোট: POI থিম ব্যবহার করতে না পারলেও, আপনি ডকুমেন্টের স্টাইল এবং ফরম্যাট কাস্টমাইজ করতে পারবেন।
Template ব্যবস্থাপনা মূলত একটি প্রিসেট ডকুমেন্টের ফরম্যাট এবং কনটেন্ট নিয়ে কাজ করে। এর মাধ্যমে আপনি দ্রুত একটি প্রি-ডিফাইন্ড ডকুমেন্ট তৈরি করতে পারেন, যা কিছু পরিবর্তন করা যাবে।
import org.apache.poi.xwpf.usermodel.*;
import java.io.*;
public class CreateDocumentFromTemplate {
public static void main(String[] args) throws Exception {
// Template Word ডকুমেন্ট লোড করা
FileInputStream templateFile = new FileInputStream(new File("template.docx"));
XWPFDocument document = new XWPFDocument(templateFile);
// প্যারাগ্রাফে নতুন টেক্সট যোগ করা
XWPFParagraph paragraph = document.createParagraph();
XWPFRun run = paragraph.createRun();
run.setText("This text is added after loading a template.");
// ডকুমেন্ট সেভ করা
try (FileOutputStream out = new FileOutputStream("new_document_from_template.docx")) {
document.write(out);
}
System.out.println("Document created from template successfully!");
}
}
FileInputStream
এর মাধ্যমে লোড করা হয়।Apache POI এর মাধ্যমে Word ডকুমেন্টে Theme এবং Template ব্যবস্থাপনা করা সম্ভব। Theme দিয়ে আপনি ডকুমেন্টের ফরম্যাট এবং স্টাইল কাস্টমাইজ করতে পারেন, যেখানে Template এর মাধ্যমে আপনি একটি প্রস্তুতকৃত ডিজাইন ব্যবহার করে দ্রুত ডকুমেন্ট তৈরি করতে পারেন। যদিও Apache POI সরাসরি থিম সেট করার জন্য পূর্ণাঙ্গ সমর্থন দেয় না, তবে আপনি স্টাইলিং মেথড ব্যবহার করে থিমের মতো কার্যকারিতা প্রবর্তন করতে পারেন।
Apache POI লাইব্রেরি ব্যবহার করে Microsoft Word ডকুমেন্টে স্টাইলিং করার সময় কিছু নির্দিষ্ট best practices অনুসরণ করা উচিত, যাতে কোডের পোর্টেবিলিটি, স্কেলেবিলিটি এবং রিডেবিলিটি বজায় থাকে। এখানে কিছু গুরুত্বপূর্ণ স্টাইলিং কৌশল এবং সেরা অভ্যাস আলোচনা করা হলো।
প্রতিটি প্যারাগ্রাফ বা টেক্সট রানের জন্য আলাদা আলাদা স্টাইল তৈরি না করে, আপনি একটি স্টাইল অবজেক্ট তৈরি করে সেটি একাধিক জায়গায় প্রয়োগ করতে পারেন। এতে কোডে পুনঃব্যবহারযোগ্যতা বাড়ে।
Best Practice:
XWPFStyles
এ সংরক্ষণ করুন।XWPFParagraph paragraph = document.createParagraph();
XWPFRun run = paragraph.createRun();
run.setFontFamily("Arial");
run.setFontSize(12);
run.setBold(true);
run.setText("এটি একটি স্টাইল করা টেক্সট");
Apache POI আপনাকে Word ডকুমেন্টের মধ্যে পূর্বনির্ধারিত স্টাইল (যেমন: Heading, Normal, Caption) ব্যবহার করার সুযোগ দেয়। টেমপ্লেট এবং পূর্বনির্ধারিত স্টাইল ব্যবহার করলে ডকুমেন্টের কনসিসটেন্সি এবং ইউনিফর্মিটি বজায় থাকে।
Best Practice:
XWPFStyles styles = document.getStyles();
XWPFStyle style = styles.getStyle("Heading1");
XWPFParagraph paragraph = document.createParagraph();
XWPFRun run = paragraph.createRun();
run.setBold(true);
run.setText("এটি একটি Heading1 স্টাইল");
Paragraph এবং Run দুটি মূল উপাদান যা স্টাইলিংয়ের জন্য ব্যবহৃত হয়। প্যারাগ্রাফ স্টাইল সেট করতে আপনি setAlignment(), setSpacingBefore(), setSpacingAfter() ইত্যাদি ব্যবহার করতে পারেন, এবং রান স্টাইল সেট করতে আপনি setFont(), setItalic(), setUnderline() ইত্যাদি ব্যবহার করতে পারেন।
Best Practice:
XWPFParagraph paragraph = document.createParagraph();
paragraph.setAlignment(ParagraphAlignment.CENTER);
paragraph.setSpacingBefore(200); // 200 EMU spacing before the paragraph
paragraph.setSpacingAfter(200); // 200 EMU spacing after the paragraph
XWPFRun run = paragraph.createRun();
run.setFontFamily("Times New Roman");
run.setFontSize(14);
run.setBold(true);
run.setItalic(true);
run.setUnderline(UnderlinePatterns.SINGLE);
run.setText("স্টাইল করা টেক্সট");
Apache POI লাইব্রেরি ব্যবহার করে টেবিল এবং লিস্টের স্টাইলিং খুবই গুরুত্বপূর্ণ। টেবিলের জন্য সীমানা, রঙ এবং কলাম প্রস্থ নির্ধারণ করা যায়, এবং লিস্টের জন্য আইটেম গুলির জন্য bullet points বা numbering যোগ করা যায়।
Best Practice:
XWPFTable table = document.createTable();
XWPFTableRow row = table.getRow(0);
XWPFTableCell cell = row.getCell(0);
cell.setText("সেল ১");
XWPFParagraph cellParagraph = cell.addParagraph();
cellParagraph.setAlignment(ParagraphAlignment.CENTER);
XWPFRun cellRun = cellParagraph.createRun();
cellRun.setFontSize(12);
cellRun.setText("সেল কন্টেন্ট");
table.setTableAlignment(TableRowAlign.CENTER);
যদি আপনার ডকুমেন্টে একাধিক জায়গায় একই ধরনের স্টাইল প্রয়োগ করতে হয়, তবে Custom Style ক্লাস তৈরি করা ভালো। এটি কোডের পুনঃব্যবহারযোগ্যতা বাড়ায় এবং মেইনটেনেবিলিটি সহজ করে।
Best Practice:
public class CustomStyle {
public static void applyHeadingStyle(XWPFRun run) {
run.setBold(true);
run.setFontFamily("Arial");
run.setFontSize(16);
}
public static void applyNormalStyle(XWPFRun run) {
run.setFontFamily("Verdana");
run.setFontSize(12);
}
}
একটি সেন্ট্রালাইজড স্টাইল repository তৈরি করা, যেখানে আপনি স্টাইলগুলো সংরক্ষণ এবং প্রয়োগ করতে পারবেন, কার্যকর হতে পারে। এটি আপনার ডকুমেন্ট স্টাইলিংকে আরও সুশৃঙ্খল এবং পরিচালনাযোগ্য করে তুলবে।
Best Practice:
XWPFStyles styles = document.createStyles();
XWPFStyle headingStyle = styles.createStyle();
headingStyle.setName("Heading");
headingStyle.setFontFamily("Arial");
headingStyle.setFontSize(16);
XWPFParagraph paragraph = document.createParagraph();
XWPFRun run = paragraph.createRun();
run.setText("Heading with applied style");
run.setStyle("Heading");
ফন্ট এবং কালারের ব্যবহারে কনসিস্টেন্সি খুবই গুরুত্বপূর্ণ। ডকুমেন্টের মধ্যে একাধিক টাইপের ফন্ট ব্যবহার করার পরিবর্তে, নির্দিষ্ট এক বা দুইটি ফন্ট স্টাইল ব্যবহার করুন।
Best Practice:
XWPFRun run = paragraph.createRun();
run.setFontFamily("Calibri");
run.setColor("000000"); // কালো রঙ
run.setFontSize(12);
run.setText("টেক্সট কালার এবং ফন্ট সাইজ নির্ধারণ");
Apache POI ব্যবহার করে Microsoft Word ডকুমেন্টে স্টাইলিং করার সময় সেরা অভ্যাসগুলি অনুসরণ করলে ডকুমেন্টের কোড এবং ডিজাইন আরও কার্যকর এবং সুশৃঙ্খল হবে। সঠিকভাবে স্টাইল ব্যবহার করলে কোডের পুনঃব্যবহারযোগ্যতা, মেইনটেনেবিলিটি এবং কনসিস্টেন্সি বজায় রাখা সম্ভব হয়। স্টাইলের জন্য টেমপ্লেট এবং পূর্বনির্ধারিত স্টাইল ব্যবহার করা, কাস্টম স্টাইল ক্লাস তৈরি করা, এবং ফন্ট ও কালারের মধ্যে কনসিস্টেন্সি বজায় রাখা খুবই গুরুত্বপূর্ণ।
common.read_more